package behavior.Mediator;

/**
 * Created by LYJ on 2016/10/21.
 * 具体同事类（房东）
 */
public class Tenant extends Person{
    public Tenant(String name, Mediator mediator) {
        super(name, mediator);
    }
    public void contact(String message){
        this.mediator.contact(message,this);
    }
    public void getMessage(String message){
        System.out.println("租客："+name+" , 获得消息："+message);
    }
}
/*
优点
适当的使用中介者模式可以避免同事类之间的过渡耦合，使得各同事类之间可以相对独立地使用。
减少子类的生成。
可以减少各同事类的设计与实现。
缺点
1. 由于中介者对象封装了系统中的对象之间的相互关系，导致其变得非常复杂，使得系统维护比较困难。
中介者需要知道每个对象和他们之间的交互细节，如果它出问题，将会导致整个系统都会出现问题。
所以它比较容易应用也很容易误用。故当系统中出现了“多对多”交互复杂的关系群时，千万别记着使用中介者模式，
你首先需要做的就是反思你的系统在设计上是不是合理。再者，在实际工作中，中介者模式也并不多见。

适用场景
1. 系统中对象之间存在比较复杂的引用关系，导致它们之间的依赖关系结构混乱而且难以复用该对象。
2. 想通过一个中间类来封装多个类中的行为，而又不想生成太多的子类。
JDK中的中介者模式：
Java.util.Timer
java.util.concurrent.Executor#execute()
java.util.concurrent.ExecutorService#submit()
java.lang.reflect.Method#invoke()
 */